﻿using System;
using System.Collections.Generic;

using System.Text;
using System.Data;

namespace OgilvyOne.DALCore
{
    /// <summary>
    /// 通用接口,提供各种数据源通用的操作接口定义,被DB和Cube的访问接口继承
    /// </summary>
    public interface ICommonQueryService
    {   /// <summary>
        /// 连接字符串
        /// </summary>
        string ConnString
        {
            get;
            set;
        }
        /// <summary>
        /// 执行一条没有返回值的查询语句
        /// 如果执行过程中有异常,则抛出;
        /// 如果查询结果为空,则DataSet为初始化过的空集合
        /// </summary>
        /// <param name="queryString">要执行的查询语句</param>
        /// <returns>返回影响的行数</returns>
        int ExecuteNonQuery(string queryString);
        /// <summary>
        /// 执行一组没有返回值的查询语句
        /// </summary>
        /// <param name="queryString">要执行的一组查询语句</param>
        void ExecuteNonQuery(string[] queryString);
        /// <summary>
        /// 执行查询语句返回数据集
        /// </summary>
        /// <param name="queryString">要执行的查询语句</param>
        /// <returns>
        /// 返回数据集
        /// </returns>
        DataSet GetDataSet(string queryString);
        /// <summary>
        /// 执行若干条查询语句,获得数据集
        /// 如果执行过程中有异常,则抛出;
        /// 如果查询结果为空,则DataSet为初始化过的空集合
        /// </summary>
        /// <param name="queryString">要执行的查询语句列表</param>
        /// <returns>
        /// 返回数据集
        /// </returns>
        DataSet GetDataSet(string[] queryString);
    }
}
